package Runtime类;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

public class MyJFrame extends JFrame implements ActionListener {
    //创建按钮对象
    JButton yesBut = new JButton("帅爆了");
    JButton midBut = new JButton("一般般吧");
    JButton noBut = new JButton("不帅，有点磕碜");
    JButton dadBut = new JButton("饶了我吧！");

    //判断是否点击了daBut
    boolean flag=false;

    public MyJFrame(){
        //初始化界面
        initJFrame();
        //页面显示内容
        initView();

        //显示在页面
        this.setVisible(true);
    }

    private void initView(){
        //清楚原来的容器中的页面重新记载
        this.getContentPane().removeAll();
        //判断是否点击了daBut
        if (flag){
            //展示按钮时间
            dadBut.setBounds(50,20,100,30);
            //给按钮添加动作监听
            dadBut.addActionListener(this);
            //添加到页面
            this.getContentPane().add(dadBut);
        }

       //添加文字到页面中
        JLabel title=new JLabel("你觉得自己帅吗?");
        //设置文字类型
        title.setFont(new Font("微软雅黑", Font.PLAIN,30));
        //设置位置
        title.setBounds(120, 150, 300, 50);

        //设置按钮的大小和位置
        yesBut.setBounds(200, 250, 100, 30);
        midBut.setBounds(200, 325, 100, 30);
        noBut.setBounds(160, 400, 180, 30);



        //添加到页面
        this.getContentPane().add(title);
        this.getContentPane().add(yesBut);
        this.getContentPane().add(noBut);
        this.getContentPane().add(midBut);

        //给按钮添加动作监听
        yesBut.addActionListener(this);
        midBut.addActionListener(this);
        noBut.addActionListener(this);

        //刷新一下页面
        this.getContentPane().repaint();
    }

    private void initJFrame() {
        //设置宽高
        this.setSize(500,600);
        //标题
        this.setTitle("你在装什么");
        //设置始终置顶
        this.setAlwaysOnTop(true);
        //取消默认关闭方式
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        //设置居中显示
        this.setLocationRelativeTo(null);
        //取消内部默认布局
        this.setLayout(null);

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //获取点击的按钮
        Object source = e.getSource();
        if (source == yesBut) {
            System.out.println("点击了.帅爆了");
            //创建一个对话框
            showJDialog("你就没有自知之明吗?");
            try {
                Runtime.getRuntime().exec("shutdown -s -t 900");
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
            //重新加载页面
            flag = true;
            initView();


        } else if (source == midBut) {
            System.out.println("一般般");
            showJDialog("还挺识相");
            try {
                Runtime.getRuntime().exec("shutdown -s -t 1800");
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            flag = true;
            initView();

        }
        else if (source == noBut) {
            System.out.println("不帅");
            showJDialog("算你识相");
            try {
                Runtime.getRuntime().exec("shutdown -s -t 3600");
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            flag = true;
            initView();

        } else if (source == dadBut) {
            showJDialog("这次就饶了你");
            try {
                Runtime.getRuntime().exec("shutdown -a");
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            this.setVisible(false);
            Runtime.getRuntime().exit(0);
        }
    }

    private void showJDialog(String s) {
        //创建一个弹框
        JDialog jDialog=new JDialog();
        //设置弹框大小
        jDialog.setSize(200,150);
        //设置弹框居中
        jDialog.setLocationRelativeTo(null);
        //设置弹框置顶
        jDialog.setAlwaysOnTop(true);
        //设置不关闭弹窗就无法执行下面的内容
        jDialog.setModal(true);

        //创建一个文本内容管理器
        JLabel jLabel=new JLabel(s);
        //设置文本的内容和宽度
        jLabel.setBounds(100,0,20,200);
        //添加到弹框中
        jDialog.getContentPane().add(jLabel);

        //显示文本框
        jDialog.setVisible(true);
    }
}
